<?php

include_once 'Conexion.php';

    //Marco
class CursoTaller extends Conexion {
    
    //Marco
    //Hace una consulta para obtener la informacion de la tabla CursoTaller
    public function listarCursoTaller () {
        
        $this->conectar();
        
        $result = $this->consultar("SELECT * FROM CURSOTALLER");
        
        $this->desconectar();
        
        return $result;
    }
    
   //Marco
   //Recive una Id de un curso o taller y obtiene el registro de la id que se recibe
    public function obtenerPorId ($id) {
        
        $this->conectar();
        
        $result = $this->consultar("SELECT * FROM CURSOTALLER WHERE cutaidcursotaller = $id");
        
        $this->desconectar();
        
        return $result[0];
    }
    
   //Marco
   //Recive una Id de un curso o taller y obtiene el registro de la id que se recibe
    public function modificar ($idCursoTaller, $nombre, $descrip) {
        
        $this->conectar();
        
        $result = $this->ejecutarQuery("UPDATE cursotaller SET cutanombre = '$nombre', cutadescrip = '$descrip', cutafecultimmodif = '". date("Y-m-d") ."' 
                                    WHERE cutaidcursotaller = $idCursoTaller");
        
        $this->desconectar();
        
        if ($result != false) {
            return $this->obtenerPorId($idCursoTaller);
        } else {
            return false;
        }
        
        return $result;
    }   
    
    public function obtenerNumeroModulos ($idCursoTaller) {
        $this->conectar();
        
        $result = $this->consultar("SELECT count(*) FROM modulo WHERE moidcursotaller = $idCursoTaller");
        $modulosTotales = $result[0]['count'];
        
        $this->desconectar();
        
        return $modulosTotales;
    }
    
    public function registrar ($nombre, $desc, $tipo) {
        $this->conectar();
        
        $result = $this->insertar("INSERT INTO cursotaller(
                                        cutanombre, cutadescrip, cutafeccrea, cutafecultimmodif, cutadirtemario, cutahorastotales, cutatipo)
                                            VALUES ('$nombre', '$desc', '". (date("Y-m-d")) ."', '". (date("Y-m-d")) ."', '', 0, '$tipo')", 
                                    "cutaidcursotaller");
        
        $this->desconectar();
        
        if ($result != false) {

            return $this->obtenerPorId($result);
        } else {
            return $result;
        }
    }
    
    public function modificarTotalHoras ($idCursoTaller, $horasTotales) {
        $this->conectar();
        
        $result = $this->ejecutarQuery("UPDATE cursotaller SET cutahorastotales = $horasTotales 
                                            WHERE cutaidcursotaller  = $idCursoTaller");
        
        $this->desconectar();
        
        return $result;
    }
    
    public function añadirMaterial ($idCursoTaller, $nomMaterial, $tipo) {
        $this->conectar();
        
        if ($tipo == "T") {
            $result = $this->ejecutarQuery("UPDATE cursotaller SET cutadirtemario = '". $idCursoTaller . "-". $nomMaterial ."' 
                                            WHERE cutaidcursotaller  = $idCursoTaller");
        } else {
            $lastId = $this->consultar("SELECT last_value FROM material_maidmaterial_seq");
            $lastId = $lastId[0]['last_value'];
            $lastId++;

            $lastId = $idCursoTaller . "-" . $lastId;

            $result = $this->insertar("INSERT INTO material(maidcursotaller, madirmaterial, matipo)
                                            VALUES ($idCursoTaller, '$lastId$nomMaterial', '$tipo')", 
                                        "maidmaterial");

            $this->desconectar();
        }

        return $result;
    }
    
    public function listarMateriales ($idCursoTaller) {
        $this->conectar();
        
        $result = $this->consultar("SELECT * FROM material WHERE maidcursotaller = $idCursoTaller");
        
        $this->desconectar();
        
        return $result;
    }
    
    public function borrarMaterial ($idMaterial) {
        
        $this->conectar();
        
        $nombMaterial = $this->consultar("SELECT maidcursotaller, madirmaterial FROM material WHERE maidmaterial = $idMaterial");
        $idCursoTaller = $nombMaterial[0]['maidcursotaller'];
        $nombMaterial = $nombMaterial[0]['madirmaterial'];
        
        if (file_exists("../docs/materiales/$nombMaterial")) {
            
            unlink("../docs/materiales/$nombMaterial");
            
            $result = $this->ejecutarQuery("DELETE FROM material WHERE maidmaterial = $idMaterial"); 
            
            $this->desconectar();
        
            return $result != false ? $idCursoTaller : false;
        } else {
            
            $this->desconectar();
            
            return false;
        }
    }
    
    public function totalDeHoras ($idCursoTaller) {
        $this->conectar();
        
        $result = $this->consultar("SELECT sum(mohoras) FROM modulo WHERE moidcursotaller = $idCursoTaller");
        $modulosTotales = round($result[0]['sum']);
        
        $this->desconectar();
        
        return $modulosTotales;
    }
}
?>